package com.company.backendproject.dao;

import com.company.backendproject.entity.Book;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author : Real
 * @date : 2022/1/13 14:58
 * @description : Book 的 dao 层
 */
@Mapper
public interface BookMapper {

    /**
     * 查询所有书籍
     *
     * @return 书籍列表
     */
    List<Book> selectAllBook();

    /**
     * 根据 Id 查询书籍
     *
     * @param id 书籍 Id
     * @return 书籍对象
     */
    Book selectBookById(int id);

    /**
     * 分页查询书籍
     *
     * @param pageNumber 页号
     * @param size       一页显示的数量
     * @return 书籍列表
     */
    List<Book> selectBookPage(int pageNumber, int size);

    /**
     * 插入书籍
     *
     * @param book 书籍对象
     * @return 插入结果
     */
    int insertBook(Book book);

    /**
     * 修改书籍信息
     *
     * @param book 书籍
     * @return 修改影响的行数
     */
    int updateBook(Book book);

    /**
     * 根据 ID 删除书籍
     *
     * @param id id
     * @return 删除行数
     */
    int deleteBookById(int id);
}
